package cn.design.realize;

/**
 * @author dlq
 * @description  具体的修饰为： 衣服的装饰 之 纽扣
 * @date 2020/9/18 14:01
 * @since 1.0
 */
public  class ButtonClothesDecorator  extends ClothesDecorator{

    public ButtonClothesDecorator(ClothesComponent clothesComponent){
        super(clothesComponent);
    }


    /**
     * @description
     *      这里为什么要重写方法:
     *             这是一个具体的组件类 : 我要给衣服 按上 纽扣，必然是 在修改衣服的时候(或者是生产衣服或者对衣服其他操作)的过程中按上这个纽扣的，
     *             即在在修改衣服的时候(或者是生产衣服或者对衣服其他操作)这件衣服的时候，给衣服安装(修饰)纽扣
     *
     * @param
     * @return void
     * @author dlq
     * @date 2020/9/18 14:11
     */
    @Override
    public TxConcreteClothesComponent produceClothes() {
        //这里可想象成一个赋值一样的操作
        addButton();
        return clothesComponent.produceClothes();
    }

    public void addButton(){
        System.out.println("..添加纽扣...");
    }
}